import hexRgb from 'hex-rgb'
import rgbHex from 'rgb-hex'
/**
 * 颜色转换函数
 * @method hexToRgb hex 颜色转 rgb 颜色
 * @method rgbToHex rgb 颜色转 Hex 颜色
 * @method getDarkColor 加深颜色值
 * @method getLightColor 变浅颜色值
 */
export function useChangeColor() {
  // color 颜色值字符串 | level 变浅的程度，限0-1之间
  const getDarkColor = (color, level) => {
    let rgb = hexRgb(color, { format: 'array' })
    for (let i = 0; i < 3; i++) {
      rgb[i] = Math.floor(rgb[i] * (1 - level))
    }
    return '#' + rgbHex(rgb[0], rgb[1], rgb[2])
  }

  // color 颜色值字符串 | level 加深的程度，限0-1之间
  const getLightColor = (color, level) => {
    let rgb = hexRgb(color, { format: 'array' })
    for (let i = 0; i < 3; i++) {
      rgb[i] = Math.floor((255 - rgb[i]) * level + rgb[i])
    }
    return '#' + rgbHex(rgb[0], rgb[1], rgb[2])
  }
  return {
    getDarkColor,
    getLightColor,
  }
}
